home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 7 / Apprentice-Release7.iso / Environments / PowerFantasm™ 4.19a / Beginners guide / GUIDE EXAMPLES / EXAMPLE7.S < prev    next >
Text File  |  1997-04-01  |  2KB  |  42 lines

  1. ********************************************************************************
  2. *EXAMPLE 7 - SETTING PIXELS                                                    *
  3. *AUTHOR    - STUART BALL JULY 94                                               *
  4. *SCREEN MUST BE SET TO 256 COLOUR MODE FOR THIS EXAMPLE                        *
  5. ********************************************************************************
  6. SCREENROW:    EQU    $0106    *WIDTH OF EACH SCREEN LINE
  7. DEVICELIST:    EQU    $08A8    *THE ADDRESS OF DEVICELIST
  8.  
  9. GET_VRAM_ADDR:    
  10.     MOVE.L    DEVICELIST,A0
  11.     MOVE.L    (A0),A0        *POINT TO DEVICELIST
  12.     MOVE.L    A0,A1        *COPY ADDRESS OF DEVICE LIST
  13.     MOVE.L    22(A1),A1    *CONTENTS OF GDPMAP
  14.     MOVE.L    (A1),A1        *BASE ADDRESS IN A1
  15.     MOVE.L    (A1),A1        *VRAM ABSOLUTE ADDRESS IN A1
  16. **SET THE PIXEL AT 300,20 TO COLOUR 3
  17.     MOVE.W    #500,D0        *X COORDINATE OF PIXEL
  18.     MOVE.W    #200,D1        *Y COORDINATE
  19.     MOVE.W    #20,D2        *COLOUR
  20.     BSR    PLOT        *PLOT THIS PIXEL
  21.     RTS
  22.  
  23. **PLOT IS A SUBROUTINE THATS PLOTS A PIXEL ON THE SCREEN IN THE COLOUR HELD IN D2
  24. **NEEDS D0.W = X COORDINATE
  25. **      D1.W = Y COORDINATE
  26. **      D2.B = THE COLOUR
  27. **      A1   = VRAM BASE ADDRESS
  28. **ALL REGISTERS REMAIN UNAFFECTED
  29. PLOT:    MOVEM.L    D0-D3/A1,-(SP)    *SAVE THE REGISTERS WE USE
  30.     CLR.L    D3
  31.     MOVE.W    SCREENROW,D3    *GET PHYSICAL LENGTH OF EACH SCREEN LINE
  32.     MULS    D3,D1    *Y COORDINATE TIMES THE LENGTH OF EACH LINE
  33.     ADD.L    D0,D1    *VRAM ADDRESS OF THIS PIXEL
  34.     ADD.L    D1,A1    *ABSOLUTE ADDRESS OF THIS PIXEL
  35.     MOVE.B    D2,(A1)    *SET THE PIXEL TO THE COLOUR IN D2
  36.     MOVEM.L    (SP)+,D0-D3/A1    *RESTORE THE REGS TO HOW THEY WERE
  37.     RTS        *END OF SUBROUTINE PLOT
  38.     
  39. *********************END OF EXAMPLE 7***********************************
  40.  
  41.     
  42.